home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Magazine / Morphos / GCC / os-includeppc / inline / graphics.h < prev    next >
C/C++ Source or Header  |  1997-04-14  |  28KB  |  717 lines

  1. /* Automatically generated header! Do not edit! */
  2.  
  3. #ifndef _INLINE_GRAPHICS_H
  4. #define _INLINE_GRAPHICS_H
  5.  
  6. #ifndef __INLINE_MACROS_H
  7. #include <inline/macros.h>
  8. #endif /* !__INLINE_MACROS_H */
  9.  
  10. #ifndef GRAPHICS_BASE_NAME
  11. #define GRAPHICS_BASE_NAME GfxBase
  12. #endif /* !GRAPHICS_BASE_NAME */
  13.  
  14. #define AddAnimOb(anOb, anKey, rp) \
  15.     LP3NR(0x9c, AddAnimOb, struct AnimOb *, anOb, a0, struct AnimOb **, anKey, a1, struct RastPort *, rp, a2, \
  16.     , GRAPHICS_BASE_NAME)
  17.  
  18. #define AddBob(bob, rp) \
  19.     LP2NR(0x60, AddBob, struct Bob *, bob, a0, struct RastPort *, rp, a1, \
  20.     , GRAPHICS_BASE_NAME)
  21.  
  22. #define AddFont(textFont) \
  23.     LP1NR(0x1e0, AddFont, struct TextFont *, textFont, a1, \
  24.     , GRAPHICS_BASE_NAME)
  25.  
  26. #define AddVSprite(vSprite, rp) \
  27.     LP2NR(0x66, AddVSprite, struct VSprite *, vSprite, a0, struct RastPort *, rp, a1, \
  28.     , GRAPHICS_BASE_NAME)
  29.  
  30. #define AllocBitMap(sizex, sizey, depth, flags, friend_bitmap) \
  31.     LP5(0x396, struct BitMap *, AllocBitMap, unsigned long, sizex, d0, unsigned long, sizey, d1, unsigned long, depth, d2, unsigned long, flags, d3, struct BitMap *, friend_bitmap, a0, \
  32.     , GRAPHICS_BASE_NAME)
  33.  
  34. #define AllocDBufInfo(vp) \
  35.     LP1(0x3c6, struct DBufInfo *, AllocDBufInfo, struct ViewPort *, vp, a0, \
  36.     , GRAPHICS_BASE_NAME)
  37.  
  38. #define AllocRaster(width, height) \
  39.     LP2(0x1ec, PLANEPTR, AllocRaster, unsigned long, width, d0, unsigned long, height, d1, \
  40.     , GRAPHICS_BASE_NAME)
  41.  
  42. #define AllocSpriteDataA(bm, tags) \
  43.     LP2(0x3fc, struct ExtSprite *, AllocSpriteDataA, struct BitMap *, bm, a2, struct TagItem *, tags, a1, \
  44.     , GRAPHICS_BASE_NAME)
  45.  
  46. #ifndef NO_INLINE_STDARG
  47. #define AllocSpriteData(a0, tags...) \
  48.     ({ULONG _tags[] = { tags }; AllocSpriteDataA((a0), (struct TagItem *)_tags);})
  49. #endif /* !NO_INLINE_STDARG */
  50.  
  51. #define AndRectRegion(region, rectangle) \
  52.     LP2NR(0x1f8, AndRectRegion, struct Region *, region, a0, struct Rectangle *, rectangle, a1, \
  53.     , GRAPHICS_BASE_NAME)
  54.  
  55. #define AndRegionRegion(srcRegion, destRegion) \
  56.     LP2(0x270, BOOL, AndRegionRegion, struct Region *, srcRegion, a0, struct Region *, destRegion, a1, \
  57.     , GRAPHICS_BASE_NAME)
  58.  
  59. #define Animate(anKey, rp) \
  60.     LP2NR(0xa2, Animate, struct AnimOb **, anKey, a0, struct RastPort *, rp, a1, \
  61.     , GRAPHICS_BASE_NAME)
  62.  
  63. #define AreaDraw(rp, x, y) \
  64.     LP3(0x102, LONG, AreaDraw, struct RastPort *, rp, a1, long, x, d0, long, y, d1, \
  65.     , GRAPHICS_BASE_NAME)
  66.  
  67. #define AreaEllipse(rp, xCenter, yCenter, a, b) \
  68.     LP5(0xba, LONG, AreaEllipse, struct RastPort *, rp, a1, long, xCenter, d0, long, yCenter, d1, long, a, d2, long, b, d3, \
  69.     , GRAPHICS_BASE_NAME)
  70.  
  71. #define AreaEnd(rp) \
  72.     LP1(0x108, LONG, AreaEnd, struct RastPort *, rp, a1, \
  73.     , GRAPHICS_BASE_NAME)
  74.  
  75. #define AreaMove(rp, x, y) \
  76.     LP3(0xfc, LONG, AreaMove, struct RastPort *, rp, a1, long, x, d0, long, y, d1, \
  77.     , GRAPHICS_BASE_NAME)
  78.  
  79. #define AskFont(rp, textAttr) \
  80.     LP2NR(0x1da, AskFont, struct RastPort *, rp, a1, struct TextAttr *, textAttr, a0, \
  81.     , GRAPHICS_BASE_NAME)
  82.  
  83. #define AskSoftStyle(rp) \
  84.     LP1(0x54, ULONG, AskSoftStyle, struct RastPort *, rp, a1, \
  85.     , GRAPHICS_BASE_NAME)
  86.  
  87. #define AttachPalExtra(cm, vp) \
  88.     LP2(0x342, LONG, AttachPalExtra, struct ColorMap *, cm, a0, struct ViewPort *, vp, a1, \
  89.     , GRAPHICS_BASE_NAME)
  90.  
  91. #define AttemptLockLayerRom(layer) \
  92.     LP1A5(0x28e, BOOL, AttemptLockLayerRom, struct Layer *, layer, d7, \
  93.     , GRAPHICS_BASE_NAME)
  94.  
  95. #define BestModeIDA(tags) \
  96.     LP1(0x41a, ULONG, BestModeIDA, struct TagItem *, tags, a0, \
  97.     , GRAPHICS_BASE_NAME)
  98.  
  99. #ifndef NO_INLINE_STDARG
  100. #define BestModeID(tags...) \
  101.     ({ULONG _tags[] = { tags }; BestModeIDA((struct TagItem *)_tags);})
  102. #endif /* !NO_INLINE_STDARG */
  103.  
  104. #define BitMapScale(bitScaleArgs) \
  105.     LP1NR(0x2a6, BitMapScale, struct BitScaleArgs *, bitScaleArgs, a0, \
  106.     , GRAPHICS_BASE_NAME)
  107.  
  108. #define BltBitMap(srcBitMap, xSrc, ySrc, destBitMap, xDest, yDest, xSize, ySize, minterm, mask, tempA) \
  109.     LP11(0x1e, LONG, BltBitMap, struct BitMap *, srcBitMap, a0, long, xSrc, d0, long, ySrc, d1, struct BitMap *, destBitMap, a1, long, xDest, d2, long, yDest, d3, long, xSize, d4, long, ySize, d5, unsigned long, minterm, d6, unsigned long, mask, d7, PLANEPTR, tempA, a2, \
  110.     , GRAPHICS_BASE_NAME)
  111.  
  112. #define BltBitMapRastPort(srcBitMap, xSrc, ySrc, destRP, xDest, yDest, xSize, ySize, minterm) \
  113.     LP9NR(0x25e, BltBitMapRastPort, struct BitMap *, srcBitMap, a0, long, xSrc, d0, long, ySrc, d1, struct RastPort *, destRP, a1, long, xDest, d2, long, yDest, d3, long, xSize, d4, long, ySize, d5, unsigned long, minterm, d6, \
  114.     , GRAPHICS_BASE_NAME)
  115.  
  116. #define BltClear(memBlock, byteCount, flags) \
  117.     LP3NR(0x12c, BltClear, PLANEPTR, memBlock, a1, unsigned long, byteCount, d0, unsigned long, flags, d1, \
  118.     , GRAPHICS_BASE_NAME)
  119.  
  120. #define BltMaskBitMapRastPort(srcBitMap, xSrc, ySrc, destRP, xDest, yDest, xSize, ySize, minterm, bltMask) \
  121.     LP10NR(0x27c, BltMaskBitMapRastPort, struct BitMap *, srcBitMap, a0, long, xSrc, d0, long, ySrc, d1, struct RastPort *, destRP, a1, long, xDest, d2, long, yDest, d3, long, xSize, d4, long, ySize, d5, unsigned long, minterm, d6, PLANEPTR, bltMask, a2, \
  122.     , GRAPHICS_BASE_NAME)
  123.  
  124. #define BltPattern(rp, mask, xMin, yMin, xMax, yMax, maskBPR) \
  125.     LP7NR(0x138, BltPattern, struct RastPort *, rp, a1, PLANEPTR, mask, a0, long, xMin, d0, long, yMin, d1, long, xMax, d2, long, yMax, d3, unsigned long, maskBPR, d4, \
  126.     , GRAPHICS_BASE_NAME)
  127.  
  128. #define BltTemplate(source, xSrc, srcMod, destRP, xDest, yDest, xSize, ySize) \
  129.     LP8NR(0x24, BltTemplate, PLANEPTR, source, a0, long, xSrc, d0, long, srcMod, d1, struct RastPort *, destRP, a1, long, xDest, d2, long, yDest, d3, long, xSize, d4, long, ySize, d5, \
  130.     , GRAPHICS_BASE_NAME)
  131.  
  132. #define CBump(copList) \
  133.     LP1NR(0x16e, CBump, struct UCopList *, copList, a1, \
  134.     , GRAPHICS_BASE_NAME)
  135.  
  136. #define CMove(copList, destination, data) \
  137.     LP3NR(0x174, CMove, struct UCopList *, copList, a1, APTR, destination, d0, long, data, d1, \
  138.     , GRAPHICS_BASE_NAME)
  139.  
  140. #define CWait(copList, v, h) \
  141.     LP3NR(0x17a, CWait, struct UCopList *, copList, a1, long, v, d0, long, h, d1, \
  142.     , GRAPHICS_BASE_NAME)
  143.  
  144. #define CalcIVG(v, vp) \
  145.     LP2(0x33c, UWORD, CalcIVG, struct View *, v, a0, struct ViewPort *, vp, a1, \
  146.     , GRAPHICS_BASE_NAME)
  147.  
  148. #define ChangeExtSpriteA(vp, oldsprite, newsprite, tags) \
  149.     LP4(0x402, LONG, ChangeExtSpriteA, struct ViewPort *, vp, a0, struct ExtSprite *, oldsprite, a1, struct ExtSprite *, newsprite, a2, struct TagItem *, tags, a3, \
  150.     , GRAPHICS_BASE_NAME)
  151.  
  152. #ifndef NO_INLINE_STDARG
  153. #define ChangeExtSprite(a0, a1, a2, tags...) \
  154.     ({ULONG _tags[] = { tags }; ChangeExtSpriteA((a0), (a1), (a2), (struct TagItem *)_tags);})
  155. #endif /* !NO_INLINE_STDARG */
  156.  
  157. #define ChangeSprite(vp, sprite, newData) \
  158.     LP3NR(0x1a4, ChangeSprite, struct ViewPort *, vp, a0, struct SimpleSprite *, sprite, a1, PLANEPTR, newData, a2, \
  159.     , GRAPHICS_BASE_NAME)
  160.  
  161. #define ChangeVPBitMap(vp, bm, db) \
  162.     LP3NR(0x3ae, ChangeVPBitMap, struct ViewPort *, vp, a0, struct BitMap *, bm, a1, struct DBufInfo *, db, a2, \
  163.     , GRAPHICS_BASE_NAME)
  164.  
  165. #define ClearEOL(rp) \
  166.     LP1NR(0x2a, ClearEOL, struct RastPort *, rp, a1, \
  167.     , GRAPHICS_BASE_NAME)
  168.  
  169. #define ClearRectRegion(region, rectangle) \
  170.     LP2(0x20a, BOOL, ClearRectRegion, struct Region *, region, a0, struct Rectangle *, rectangle, a1, \
  171.     , GRAPHICS_BASE_NAME)
  172.  
  173. #define ClearRegion(region) \
  174.     LP1NR(0x210, ClearRegion, struct Region *, region, a0, \
  175.     , GRAPHICS_BASE_NAME)
  176.  
  177. #define ClearScreen(rp) \
  178.     LP1NR(0x30, ClearScreen, struct RastPort *, rp, a1, \
  179.     , GRAPHICS_BASE_NAME)
  180.  
  181. #define ClipBlit(srcRP, xSrc, ySrc, destRP, xDest, yDest, xSize, ySize, minterm) \
  182.     LP9NR(0x228, ClipBlit, struct RastPort *, srcRP, a0, long, xSrc, d0, long, ySrc, d1, struct RastPort *, destRP, a1, long, xDest, d2, long, yDest, d3, long, xSize, d4, long, ySize, d5, unsigned long, minterm, d6, \
  183.     , GRAPHICS_BASE_NAME)
  184.  
  185. #define CloseFont(textFont) \
  186.     LP1NR(0x4e, CloseFont, struct TextFont *, textFont, a1, \
  187.     , GRAPHICS_BASE_NAME)
  188.  
  189. #define CloseMonitor(monitorSpec) \
  190.     LP1(0x2d0, BOOL, CloseMonitor, struct MonitorSpec *, monitorSpec, a0, \
  191.     , GRAPHICS_BASE_NAME)
  192.  
  193. #define CoerceMode(vp, monitorid, flags) \
  194.     LP3(0x3a8, ULONG, CoerceMode, struct ViewPort *, vp, a0, unsigned long, monitorid, d0, unsigned long, flags, d1, \
  195.     , GRAPHICS_BASE_NAME)
  196.  
  197. #define CopySBitMap(layer) \
  198.     LP1NR(0x1c2, CopySBitMap, struct Layer *, layer, a0, \
  199.     , GRAPHICS_BASE_NAME)
  200.  
  201. #define DisownBlitter() \
  202.     LP0NR(0x1ce, DisownBlitter, \
  203.     , GRAPHICS_BASE_NAME)
  204.  
  205. #define DisposeRegion(region) \
  206.     LP1NR(0x216, DisposeRegion, struct Region *, region, a0, \
  207.     , GRAPHICS_BASE_NAME)
  208.  
  209. #define DoCollision(rp) \
  210.     LP1NR(0x6c, DoCollision, struct RastPort *, rp, a1, \
  211.     , GRAPHICS_BASE_NAME)
  212.  
  213. #define Draw(rp, x, y) \
  214.     LP3NR(0xf6, Draw, struct RastPort *, rp, a1, long, x, d0, long, y, d1, \
  215.     , GRAPHICS_BASE_NAME)
  216.  
  217. #define DrawEllipse(rp, xCenter, yCenter, a, b) \
  218.     LP5NR(0xb4, DrawEllipse, struct RastPort *, rp, a1, long, xCenter, d0, long, yCenter, d1, long, a, d2, long, b, d3, \
  219.     , GRAPHICS_BASE_NAME)
  220.  
  221. #define DrawGList(rp, vp) \
  222.     LP2NR(0x72, DrawGList, struct RastPort *, rp, a1, struct ViewPort *, vp, a0, \
  223.     , GRAPHICS_BASE_NAME)
  224.  
  225. #define EraseRect(rp, xMin, yMin, xMax, yMax) \
  226.     LP5NR(0x32a, EraseRect, struct RastPort *, rp, a1, long, xMin, d0, long, yMin, d1, long, xMax, d2, long, yMax, d3, \
  227.     , GRAPHICS_BASE_NAME)
  228.  
  229. #define ExtendFont(font, fontTags) \
  230.     LP2(0x330, ULONG, ExtendFont, struct TextFont *, font, a0, struct TagItem *, fontTags, a1, \
  231.     , GRAPHICS_BASE_NAME)
  232.  
  233. #ifndef NO_INLINE_STDARG
  234. #define ExtendFontTags(a0, tags...) \
  235.     ({ULONG _tags[] = { tags }; ExtendFont((a0), (struct TagItem *)_tags);})
  236. #endif /* !NO_INLINE_STDARG */
  237.  
  238. #define FindColor(cm, r, g, b, maxcolor) \
  239.     LP5(0x3f0, LONG, FindColor, struct ColorMap *, cm, a3, unsigned long, r, d1, unsigned long, g, d2, unsigned long, b, d3, long, maxcolor, d4, \
  240.     , GRAPHICS_BASE_NAME)
  241.  
  242. #define FindDisplayInfo(displayID) \
  243.     LP1(0x2d6, DisplayInfoHandle, FindDisplayInfo, unsigned long, displayID, d0, \
  244.     , GRAPHICS_BASE_NAME)
  245.  
  246. #define Flood(rp, mode, x, y) \
  247.     LP4(0x14a, BOOL, Flood, struct RastPort *, rp, a1, unsigned long, mode, d2, long, x, d0, long, y, d1, \
  248.     , GRAPHICS_BASE_NAME)
  249.  
  250. #define FontExtent(font, fontExtent) \
  251.     LP2NR(0x2fa, FontExtent, struct TextFont *, font, a0, struct TextExtent *, fontExtent, a1, \
  252.     , GRAPHICS_BASE_NAME)
  253.  
  254. #define FreeBitMap(bm) \
  255.     LP1NR(0x39c, FreeBitMap, struct BitMap *, bm, a0, \
  256.     , GRAPHICS_BASE_NAME)
  257.  
  258. #define FreeColorMap(colorMap) \
  259.     LP1NR(0x240, FreeColorMap, struct ColorMap *, colorMap, a0, \
  260.     , GRAPHICS_BASE_NAME)
  261.  
  262. #define FreeCopList(copList) \
  263.     LP1NR(0x222, FreeCopList, struct CopList *, copList, a0, \
  264.     , GRAPHICS_BASE_NAME)
  265.  
  266. #define FreeCprList(cprList) \
  267.     LP1NR(0x234, FreeCprList, struct cprlist *, cprList, a0, \
  268.     , GRAPHICS_BASE_NAME)
  269.  
  270. #define FreeDBufInfo(dbi) \
  271.     LP1NR(0x3cc, FreeDBufInfo, struct DBufInfo *, dbi, a1, \
  272.     , GRAPHICS_BASE_NAME)
  273.  
  274. #define FreeGBuffers(anOb, rp, flag) \
  275.     LP3NR(0x258, FreeGBuffers, struct AnimOb *, anOb, a0, struct RastPort *, rp, a1, long, flag, d0, \
  276.     , GRAPHICS_BASE_NAME)
  277.  
  278. #define FreeRaster(p, width, height) \
  279.     LP3NR(0x1f2, FreeRaster, PLANEPTR, p, a0, unsigned long, width, d0, unsigned long, height, d1, \
  280.     , GRAPHICS_BASE_NAME)
  281.  
  282. #define FreeSprite(num) \
  283.     LP1NR(0x19e, FreeSprite, long, num, d0, \
  284.     , GRAPHICS_BASE_NAME)
  285.  
  286. #define FreeSpriteData(sp) \
  287.     LP1NR(0x408, FreeSpriteData, struct ExtSprite *, sp, a2, \
  288.     , GRAPHICS_BASE_NAME)
  289.  
  290. #define FreeVPortCopLists(vp) \
  291.     LP1NR(0x21c, FreeVPortCopLists, struct ViewPort *, vp, a0, \
  292.     , GRAPHICS_BASE_NAME)
  293.  
  294. #define GetAPen(rp) \
  295.     LP1(0x35a, ULONG, GetAPen, struct RastPort *, rp, a0, \
  296.     , GRAPHICS_BASE_NAME)
  297.  
  298. #define GetBPen(rp) \
  299.     LP1(0x360, ULONG, GetBPen, struct RastPort *, rp, a0, \
  300.     , GRAPHICS_BASE_NAME)
  301.  
  302. #define GetBitMapAttr(bm, attrnum) \
  303.     LP2(0x3c0, ULONG, GetBitMapAttr, struct BitMap *, bm, a0, unsigned long, attrnum, d1, \
  304.     , GRAPHICS_BASE_NAME)
  305.  
  306. #define GetColorMap(entries) \
  307.     LP1(0x23a, struct ColorMap *, GetColorMap, long, entries, d0, \
  308.     , GRAPHICS_BASE_NAME)
  309.  
  310. #define GetDisplayInfoData(handle, buf, size, tagID, displayID) \
  311.     LP5(0x2f4, ULONG, GetDisplayInfoData, DisplayInfoHandle, handle, a0, UBYTE *, buf, a1, unsigned long, size, d0, unsigned long, tagID, d1, unsigned long, displayID, d2, \
  312.     , GRAPHICS_BASE_NAME)
  313.  
  314. #define GetDrMd(rp) \
  315.     LP1(0x366, ULONG, GetDrMd, struct RastPort *, rp, a0, \
  316.     , GRAPHICS_BASE_NAME)
  317.  
  318. #define GetExtSpriteA(ss, tags) \
  319.     LP2(0x3a2, LONG, GetExtSpriteA, struct ExtSprite *, ss, a2, struct TagItem *, tags, a1, \
  320.     , GRAPHICS_BASE_NAME)
  321.  
  322. #ifndef NO_INLINE_STDARG
  323. #define GetExtSprite(a0, tags...) \
  324.     ({ULONG _tags[] = { tags }; GetExtSpriteA((a0), (struct TagItem *)_tags);})
  325. #endif /* !NO_INLINE_STDARG */
  326.  
  327. #define GetGBuffers(anOb, rp, flag) \
  328.     LP3(0xa8, BOOL, GetGBuffers, struct AnimOb *, anOb, a0, struct RastPort *, rp, a1, long, flag, d0, \
  329.     , GRAPHICS_BASE_NAME)
  330.  
  331. #define GetOutlinePen(rp) \
  332.     LP1(0x36c, ULONG, GetOutlinePen, struct RastPort *, rp, a0, \
  333.     , GRAPHICS_BASE_NAME)
  334.  
  335. #define GetRGB32(cm, firstcolor, ncolors, table) \
  336.     LP4NR(0x384, GetRGB32, struct ColorMap *, cm, a0, unsigned long, firstcolor, d0, unsigned long, ncolors, d1, ULONG *, table, a1, \
  337.     , GRAPHICS_BASE_NAME)
  338.  
  339. #define GetRGB4(colorMap, entry) \
  340.     LP2(0x246, ULONG, GetRGB4, struct ColorMap *, colorMap, a0, long, entry, d0, \
  341.     , GRAPHICS_BASE_NAME)
  342.  
  343. #define GetRPAttrsA(rp, tags) \
  344.     LP2NR(0x414, GetRPAttrsA, struct RastPort *, rp, a0, struct TagItem *, tags, a1, \
  345.     , GRAPHICS_BASE_NAME)
  346.  
  347. #ifndef NO_INLINE_STDARG
  348. #define GetRPAttrs(a0, tags...) \
  349.     ({ULONG _tags[] = { tags }; GetRPAttrsA((a0), (struct TagItem *)_tags);})
  350. #endif /* !NO_INLINE_STDARG */
  351.  
  352. #define GetSprite(sprite, num) \
  353.     LP2(0x198, WORD, GetSprite, struct SimpleSprite *, sprite, a0, long, num, d0, \
  354.     , GRAPHICS_BASE_NAME)
  355.  
  356. #define GetVPModeID(vp) \
  357.     LP1(0x318, LONG, GetVPModeID, struct ViewPort *, vp, a0, \
  358.     , GRAPHICS_BASE_NAME)
  359.  
  360. #define GfxAssociate(associateNode, gfxNodePtr) \
  361.     LP2NR(0x2a0, GfxAssociate, APTR, associateNode, a0, APTR, gfxNodePtr, a1, \
  362.     , GRAPHICS_BASE_NAME)
  363.  
  364. #define GfxFree(gfxNodePtr) \
  365.     LP1NR(0x29a, GfxFree, APTR, gfxNodePtr, a0, \
  366.     , GRAPHICS_BASE_NAME)
  367.  
  368. #define GfxLookUp(associateNode) \
  369.     LP1(0x2be, APTR, GfxLookUp, APTR, associateNode, a0, \
  370.     , GRAPHICS_BASE_NAME)
  371.  
  372. #define GfxNew(gfxNodeType) \
  373.     LP1(0x294, APTR, GfxNew, unsigned long, gfxNodeType, d0, \
  374.     , GRAPHICS_BASE_NAME)
  375.  
  376. #define InitArea(areaInfo, vectorBuffer, maxVectors) \
  377.     LP3NR(0x11a, InitArea, struct AreaInfo *, areaInfo, a0, APTR, vectorBuffer, a1, long, maxVectors, d0, \
  378.     , GRAPHICS_BASE_NAME)
  379.  
  380. #define InitBitMap(bitMap, depth, width, height) \
  381.     LP4NR(0x186, InitBitMap, struct BitMap *, bitMap, a0, long, depth, d0, long, width, d1, long, height, d2, \
  382.     , GRAPHICS_BASE_NAME)
  383.  
  384. #define InitGMasks(anOb) \
  385.     LP1NR(0xae, InitGMasks, struct AnimOb *, anOb, a0, \
  386.     , GRAPHICS_BASE_NAME)
  387.  
  388. #define InitGels(head, tail, gelsInfo) \
  389.     LP3NR(0x78, InitGels, struct VSprite *, head, a0, struct VSprite *, tail, a1, struct GelsInfo *, gelsInfo, a2, \
  390.     , GRAPHICS_BASE_NAME)
  391.  
  392. #define InitMasks(vSprite) \
  393.     LP1NR(0x7e, InitMasks, struct VSprite *, vSprite, a0, \
  394.     , GRAPHICS_BASE_NAME)
  395.  
  396. #define InitRastPort(rp) \
  397.     LP1NR(0xc6, InitRastPort, struct RastPort *, rp, a1, \
  398.     , GRAPHICS_BASE_NAME)
  399.  
  400. #define InitTmpRas(tmpRas, buffer, size) \
  401.     LP3(0x1d4, struct TmpRas *, InitTmpRas, struct TmpRas *, tmpRas, a0, PLANEPTR, buffer, a1, long, size, d0, \
  402.     , GRAPHICS_BASE_NAME)
  403.  
  404. #define InitVPort(vp) \
  405.     LP1NR(0xcc, InitVPort, struct ViewPort *, vp, a0, \
  406.     , GRAPHICS_BASE_NAME)
  407.  
  408. #define InitView(view) \
  409.     LP1NR(0x168, InitView, struct View *, view, a1, \
  410.     , GRAPHICS_BASE_NAME)
  411.  
  412. #define LoadRGB32(vp, table) \
  413.     LP2NR(0x372, LoadRGB32, struct ViewPort *, vp, a0, ULONG *, table, a1, \
  414.     , GRAPHICS_BASE_NAME)
  415.  
  416. #define LoadRGB4(vp, colors, count) \
  417.     LP3NR(0xc0, LoadRGB4, struct ViewPort *, vp, a0, UWORD *, colors, a1, long, count, d0, \
  418.     , GRAPHICS_BASE_NAME)
  419.  
  420. #define LoadView(view) \
  421.     LP1NR(0xde, LoadView, struct View *, view, a1, \
  422.     , GRAPHICS_BASE_NAME)
  423.  
  424. #define LockLayerRom(layer) \
  425.     LP1NRA5(0x1b0, LockLayerRom, struct Layer *, layer, d7, \
  426.     , GRAPHICS_BASE_NAME)
  427.  
  428. #define MakeVPort(view, vp) \
  429.     LP2(0xd8, ULONG, MakeVPort, struct View *, view, a0, struct ViewPort *, vp, a1, \
  430.     , GRAPHICS_BASE_NAME)
  431.  
  432. #define ModeNotAvailable(modeID) \
  433.     LP1(0x31e, LONG, ModeNotAvailable, unsigned long, modeID, d0, \
  434.     , GRAPHICS_BASE_NAME)
  435.  
  436. #define Move(rp, x, y) \
  437.     LP3NR(0xf0, Move, struct RastPort *, rp, a1, long, x, d0, long, y, d1, \
  438.     , GRAPHICS_BASE_NAME)
  439.  
  440. #define MoveSprite(vp, sprite, x, y) \
  441.     LP4NR(0x1aa, MoveSprite, struct ViewPort *, vp, a0, struct SimpleSprite *, sprite, a1, long, x, d0, long, y, d1, \
  442.     , GRAPHICS_BASE_NAME)
  443.  
  444. #define MrgCop(view) \
  445.     LP1(0xd2, ULONG, MrgCop, struct View *, view, a1, \
  446.     , GRAPHICS_BASE_NAME)
  447.  
  448. #define NewRegion() \
  449.     LP0(0x204, struct Region *, NewRegion, \
  450.     , GRAPHICS_BASE_NAME)
  451.  
  452. #define NextDisplayInfo(displayID) \
  453.     LP1(0x2dc, ULONG, NextDisplayInfo, unsigned long, displayID, d0, \
  454.     , GRAPHICS_BASE_NAME)
  455.  
  456. #define ObtainBestPenA(cm, r, g, b, tags) \
  457.     LP5(0x348, LONG, ObtainBestPenA, struct ColorMap *, cm, a0, unsigned long, r, d1, unsigned long, g, d2, unsigned long, b, d3, struct TagItem *, tags, a1, \
  458.     , GRAPHICS_BASE_NAME)
  459.  
  460. #ifndef NO_INLINE_STDARG
  461. #define ObtainBestPen(a0, a1, a2, a3, tags...) \
  462.     ({ULONG _tags[] = { tags }; ObtainBestPenA((a0), (a1), (a2), (a3), (struct TagItem *)_tags);})
  463. #endif /* !NO_INLINE_STDARG */
  464.  
  465. #define ObtainPen(cm, n, r, g, b, f) \
  466.     LP6(0x3ba, ULONG, ObtainPen, struct ColorMap *, cm, a0, unsigned long, n, d0, unsigned long, r, d1, unsigned long, g, d2, unsigned long, b, d3, long, f, d4, \
  467.     , GRAPHICS_BASE_NAME)
  468.  
  469. #define OpenFont(textAttr) \
  470.     LP1(0x48, struct TextFont *, OpenFont, struct TextAttr *, textAttr, a0, \
  471.     , GRAPHICS_BASE_NAME)
  472.  
  473. #define OpenMonitor(monitorName, displayID) \
  474.     LP2(0x2ca, struct MonitorSpec *, OpenMonitor, STRPTR, monitorName, a1, unsigned long, displayID, d0, \
  475.     , GRAPHICS_BASE_NAME)
  476.  
  477. #define OrRectRegion(region, rectangle) \
  478.     LP2(0x1fe, BOOL, OrRectRegion, struct Region *, region, a0, struct Rectangle *, rectangle, a1, \
  479.     , GRAPHICS_BASE_NAME)
  480.  
  481. #define OrRegionRegion(srcRegion, destRegion) \
  482.     LP2(0x264, BOOL, OrRegionRegion, struct Region *, srcRegion, a0, struct Region *, destRegion, a1, \
  483.     , GRAPHICS_BASE_NAME)
  484.  
  485. #define OwnBlitter() \
  486.     LP0NR(0x1c8, OwnBlitter, \
  487.     , GRAPHICS_BASE_NAME)
  488.  
  489. #define PolyDraw(rp, count, polyTable) \
  490.     LP3NR(0x150, PolyDraw, struct RastPort *, rp, a1, long, count, d0, WORD *, polyTable, a0, \
  491.     , GRAPHICS_BASE_NAME)
  492.  
  493. #define QBSBlit(blit) \
  494.     LP1NR(0x126, QBSBlit, struct bltnode *, blit, a1, \
  495.     , GRAPHICS_BASE_NAME)
  496.  
  497. #define QBlit(blit) \
  498.     LP1NR(0x114, QBlit, struct bltnode *, blit, a1, \
  499.     , GRAPHICS_BASE_NAME)
  500.  
  501. #define ReadPixel(rp, x, y) \
  502.     LP3(0x13e, ULONG, ReadPixel, struct RastPort *, rp, a1, long, x, d0, long, y, d1, \
  503.     , GRAPHICS_BASE_NAME)
  504.  
  505. #define ReadPixelArray8(rp, xstart, ystart, xstop, ystop, array, temprp) \
  506.     LP7(0x30c, LONG, ReadPixelArray8, struct RastPort *, rp, a0, unsigned long, xstart, d0, unsigned long, ystart, d1, unsigned long, xstop, d2, unsigned long, ystop, d3, UBYTE *, array, a2, struct RastPort *, temprp, a1, \
  507.     , GRAPHICS_BASE_NAME)
  508.  
  509. #define ReadPixelLine8(rp, xstart, ystart, width, array, tempRP) \
  510.     LP6(0x300, LONG, ReadPixelLine8, struct RastPort *, rp, a0, unsigned long, xstart, d0, unsigned long, ystart, d1, unsigned long, width, d2, UBYTE *, array, a2, struct RastPort *, tempRP, a1, \
  511.     , GRAPHICS_BASE_NAME)
  512.  
  513. #define RectFill(rp, xMin, yMin, xMax, yMax) \
  514.     LP5NR(0x132, RectFill, struct RastPort *, rp, a1, long, xMin, d0, long, yMin, d1, long, xMax, d2, long, yMax, d3, \
  515.     , GRAPHICS_BASE_NAME)
  516.  
  517. #define ReleasePen(cm, n) \
  518.     LP2NR(0x3b4, ReleasePen, struct ColorMap *, cm, a0, unsigned long, n, d0, \
  519.     , GRAPHICS_BASE_NAME)
  520.  
  521. #define RemFont(textFont) \
  522.     LP1NR(0x1e6, RemFont, struct TextFont *, textFont, a1, \
  523.     , GRAPHICS_BASE_NAME)
  524.  
  525. #define RemIBob(bob, rp, vp) \
  526.     LP3NR(0x84, RemIBob, struct Bob *, bob, a0, struct RastPort *, rp, a1, struct ViewPort *, vp, a2, \
  527.     , GRAPHICS_BASE_NAME)
  528.  
  529. #define RemVSprite(vSprite) \
  530.     LP1NR(0x8a, RemVSprite, struct VSprite *, vSprite, a0, \
  531.     , GRAPHICS_BASE_NAME)
  532.  
  533. #define ScalerDiv(factor, numerator, denominator) \
  534.     LP3(0x2ac, UWORD, ScalerDiv, unsigned long, factor, d0, unsigned long, numerator, d1, unsigned long, denominator, d2, \
  535.     , GRAPHICS_BASE_NAME)
  536.  
  537. #define ScrollRaster(rp, dx, dy, xMin, yMin, xMax, yMax) \
  538.     LP7NR(0x18c, ScrollRaster, struct RastPort *, rp, a1, long, dx, d0, long, dy, d1, long, xMin, d2, long, yMin, d3, long, xMax, d4, long, yMax, d5, \
  539.     , GRAPHICS_BASE_NAME)
  540.  
  541. #define ScrollRasterBF(rp, dx, dy, xMin, yMin, xMax, yMax) \
  542.     LP7NR(0x3ea, ScrollRasterBF, struct RastPort *, rp, a1, long, dx, d0, long, dy, d1, long, xMin, d2, long, yMin, d3, long, xMax, d4, long, yMax, d5, \
  543.     , GRAPHICS_BASE_NAME)
  544.  
  545. #define ScrollVPort(vp) \
  546.     LP1NR(0x24c, ScrollVPort, struct ViewPort *, vp, a0, \
  547.     , GRAPHICS_BASE_NAME)
  548.  
  549. #define SetABPenDrMd(rp, apen, bpen, drawmode) \
  550.     LP4NR(0x37e, SetABPenDrMd, struct RastPort *, rp, a1, unsigned long, apen, d0, unsigned long, bpen, d1, unsigned long, drawmode, d2, \
  551.     , GRAPHICS_BASE_NAME)
  552.  
  553. #define SetAPen(rp, pen) \
  554.     LP2NR(0x156, SetAPen, struct RastPort *, rp, a1, unsigned long, pen, d0, \
  555.     , GRAPHICS_BASE_NAME)
  556.  
  557. #define SetBPen(rp, pen) \
  558.     LP2NR(0x15c, SetBPen, struct RastPort *, rp, a1, unsigned long, pen, d0, \
  559.     , GRAPHICS_BASE_NAME)
  560.  
  561. #define SetChipRev(want) \
  562.     LP1(0x378, ULONG, SetChipRev, unsigned long, want, d0, \
  563.     , GRAPHICS_BASE_NAME)
  564.  
  565. #define SetCollision(num, routine, gelsInfo) \
  566.     LP3NRFP(0x90, SetCollision, unsigned long, num, d0, __fpt, routine, a0, struct GelsInfo *, gelsInfo, a1, \
  567.     , GRAPHICS_BASE_NAME, void (*__fpt)(struct VSprite *vSprite, APTR))
  568.  
  569. #define SetDrMd(rp, drawMode) \
  570.     LP2NR(0x162, SetDrMd, struct RastPort *, rp, a1, unsigned long, drawMode, d0, \
  571.     , GRAPHICS_BASE_NAME)
  572.  
  573. #define SetFont(rp, textFont) \
  574.     LP2(0x42, LONG, SetFont, struct RastPort *, rp, a1, struct TextFont *, textFont, a0, \
  575.     , GRAPHICS_BASE_NAME)
  576.  
  577. #define SetMaxPen(rp, maxpen) \
  578.     LP2NR(0x3de, SetMaxPen, struct RastPort *, rp, a0, unsigned long, maxpen, d0, \
  579.     , GRAPHICS_BASE_NAME)
  580.  
  581. #define SetOutlinePen(rp, pen) \
  582.     LP2(0x3d2, ULONG, SetOutlinePen, struct RastPort *, rp, a0, unsigned long, pen, d0, \
  583.     , GRAPHICS_BASE_NAME)
  584.  
  585. #define SetRGB32(vp, n, r, g, b) \
  586.     LP5NR(0x354, SetRGB32, struct ViewPort *, vp, a0, unsigned long, n, d0, unsigned long, r, d1, unsigned long, g, d2, unsigned long, b, d3, \
  587.     , GRAPHICS_BASE_NAME)
  588.  
  589. #define SetRGB32CM(cm, n, r, g, b) \
  590.     LP5NR(0x3e4, SetRGB32CM, struct ColorMap *, cm, a0, unsigned long, n, d0, unsigned long, r, d1, unsigned long, g, d2, unsigned long, b, d3, \
  591.     , GRAPHICS_BASE_NAME)
  592.  
  593. #define SetRGB4(vp, index, red, green, blue) \
  594.     LP5NR(0x120, SetRGB4, struct ViewPort *, vp, a0, long, index, d0, unsigned long, red, d1, unsigned long, green, d2, unsigned long, blue, d3, \
  595.     , GRAPHICS_BASE_NAME)
  596.  
  597. #define SetRGB4CM(colorMap, index, red, green, blue) \
  598.     LP5NR(0x276, SetRGB4CM, struct ColorMap *, colorMap, a0, long, index, d0, unsigned long, red, d1, unsigned long, green, d2, unsigned long, blue, d3, \
  599.     , GRAPHICS_BASE_NAME)
  600.  
  601. #define SetRPAttrsA(rp, tags) \
  602.     LP2NR(0x40e, SetRPAttrsA, struct RastPort *, rp, a0, struct TagItem *, tags, a1, \
  603.     , GRAPHICS_BASE_NAME)
  604.  
  605. #ifndef NO_INLINE_STDARG
  606. #define SetRPAttrs(a0, tags...) \
  607.     ({ULONG _tags[] = { tags }; SetRPAttrsA((a0), (struct TagItem *)_tags);})
  608. #endif /* !NO_INLINE_STDARG */
  609.  
  610. #define SetRast(rp, pen) \
  611.     LP2NR(0xea, SetRast, struct RastPort *, rp, a1, unsigned long, pen, d0, \
  612.     , GRAPHICS_BASE_NAME)
  613.  
  614. #define SetSoftStyle(rp, style, enable) \
  615.     LP3(0x5a, ULONG, SetSoftStyle, struct RastPort *, rp, a1, unsigned long, style, d0, unsigned long, enable, d1, \
  616.     , GRAPHICS_BASE_NAME)
  617.  
  618. #define SetWriteMask(rp, msk) \
  619.     LP2(0x3d8, ULONG, SetWriteMask, struct RastPort *, rp, a0, unsigned long, msk, d0, \
  620.     , GRAPHICS_BASE_NAME)
  621.  
  622. #define SortGList(rp) \
  623.     LP1NR(0x96, SortGList, struct RastPort *, rp, a1, \
  624.     , GRAPHICS_BASE_NAME)
  625.  
  626. #define StripFont(font) \
  627.     LP1NR(0x336, StripFont, struct TextFont *, font, a0, \
  628.     , GRAPHICS_BASE_NAME)
  629.  
  630. #define SyncSBitMap(layer) \
  631.     LP1NR(0x1bc, SyncSBitMap, struct Layer *, layer, a0, \
  632.     , GRAPHICS_BASE_NAME)
  633.  
  634. #define Text(rp, string, count) \
  635.     LP3(0x3c, LONG, Text, struct RastPort *, rp, a1, STRPTR, string, a0, unsigned long, count, d0, \
  636.     , GRAPHICS_BASE_NAME)
  637.  
  638. #define TextExtent(rp, string, count, textExtent) \
  639.     LP4(0x2b2, WORD, TextExtent, struct RastPort *, rp, a1, STRPTR, string, a0, long, count, d0, struct TextExtent *, textExtent, a2, \
  640.     , GRAPHICS_BASE_NAME)
  641.  
  642. #define TextFit(rp, string, strLen, textExtent, constrainingExtent, strDirection, constrainingBitWidth, constrainingBitHeight) \
  643.     LP8(0x2b8, ULONG, TextFit, struct RastPort *, rp, a1, STRPTR, string, a0, unsigned long, strLen, d0, struct TextExtent *, textExtent, a2, struct TextExtent *, constrainingExtent, a3, long, strDirection, d1, unsigned long, constrainingBitWidth, d2, unsigned long, constrainingBitHeight, d3, \
  644.     , GRAPHICS_BASE_NAME)
  645.  
  646. #define TextLength(rp, string, count) \
  647.     LP3(0x36, WORD, TextLength, struct RastPort *, rp, a1, STRPTR, string, a0, unsigned long, count, d0, \
  648.     , GRAPHICS_BASE_NAME)
  649.  
  650. #define UCopperListInit(uCopList, n) \
  651.     LP2(0x252, struct CopList *, UCopperListInit, struct UCopList *, uCopList, a0, long, n, d0, \
  652.     , GRAPHICS_BASE_NAME)
  653.  
  654. #define UnlockLayerRom(layer) \
  655.     LP1NRA5(0x1b6, UnlockLayerRom, struct Layer *, layer, d7, \
  656.     , GRAPHICS_BASE_NAME)
  657.  
  658. #define VBeamPos() \
  659.     LP0(0x180, LONG, VBeamPos, \
  660.     , GRAPHICS_BASE_NAME)
  661.  
  662. #define VideoControl(colorMap, tagarray) \
  663.     LP2(0x2c4, BOOL, VideoControl, struct ColorMap *, colorMap, a0, struct TagItem *, tagarray, a1, \
  664.     , GRAPHICS_BASE_NAME)
  665.  
  666. #ifndef NO_INLINE_STDARG
  667. #define VideoControlTags(a0, tags...) \
  668.     ({ULONG _tags[] = { tags }; VideoControl((a0), (struct TagItem *)_tags);})
  669. #endif /* !NO_INLINE_STDARG */
  670.  
  671. #define WaitBOVP(vp) \
  672.     LP1NR(0x192, WaitBOVP, struct ViewPort *, vp, a0, \
  673.     , GRAPHICS_BASE_NAME)
  674.  
  675. #define WaitBlit() \
  676.     LP0NR(0xe4, WaitBlit, \
  677.     , GRAPHICS_BASE_NAME)
  678.  
  679. #define WaitTOF() \
  680.     LP0NR(0x10e, WaitTOF, \
  681.     , GRAPHICS_BASE_NAME)
  682.  
  683. #define WeighTAMatch(reqTextAttr, targetTextAttr, targetTags) \
  684.     LP3(0x324, WORD, WeighTAMatch, struct TextAttr *, reqTextAttr, a0, struct TextAttr *, targetTextAttr, a1, struct TagItem *, targetTags, a2, \
  685.     , GRAPHICS_BASE_NAME)
  686.  
  687. #ifndef NO_INLINE_STDARG
  688. #define WeighTAMatchTags(a0, a1, tags...) \
  689.     ({ULONG _tags[] = { tags }; WeighTAMatch((a0), (a1), (struct TagItem *)_tags);})
  690. #endif /* !NO_INLINE_STDARG */
  691.  
  692. #define WriteChunkyPixels(rp, xstart, ystart, xstop, ystop, array, bytesperrow) \
  693.     LP7NR(0x420, WriteChunkyPixels, struct RastPort *, rp, a0, unsigned long, xstart, d0, unsigned long, ystart, d1, unsigned long, xstop, d2, unsigned long, ystop, d3, UBYTE *, array, a2, long, bytesperrow, d4, \
  694.     , GRAPHICS_BASE_NAME)
  695.  
  696. #define WritePixel(rp, x, y) \
  697.     LP3(0x144, LONG, WritePixel, struct RastPort *, rp, a1, long, x, d0, long, y, d1, \
  698.     , GRAPHICS_BASE_NAME)
  699.  
  700. #define WritePixelArray8(rp, xstart, ystart, xstop, ystop, array, temprp) \
  701.     LP7(0x312, LONG, WritePixelArray8, struct RastPort *, rp, a0, unsigned long, xstart, d0, unsigned long, ystart, d1, unsigned long, xstop, d2, unsigned long, ystop, d3, UBYTE *, array, a2, struct RastPort *, temprp, a1, \
  702.     , GRAPHICS_BASE_NAME)
  703.  
  704. #define WritePixelLine8(rp, xstart, ystart, width, array, tempRP) \
  705.     LP6(0x306, LONG, WritePixelLine8, struct RastPort *, rp, a0, unsigned long, xstart, d0, unsigned long, ystart, d1, unsigned long, width, d2, UBYTE *, array, a2, struct RastPort *, tempRP, a1, \
  706.     , GRAPHICS_BASE_NAME)
  707.  
  708. #define XorRectRegion(region, rectangle) \
  709.     LP2(0x22e, BOOL, XorRectRegion, struct Region *, region, a0, struct Rectangle *, rectangle, a1, \
  710.     , GRAPHICS_BASE_NAME)
  711.  
  712. #define XorRegionRegion(srcRegion, destRegion) \
  713.     LP2(0x26a, BOOL, XorRegionRegion, struct Region *, srcRegion, a0, struct Region *, destRegion, a1, \
  714.     , GRAPHICS_BASE_NAME)
  715.  
  716. #endif /* !_INLINE_GRAPHICS_H */
  717.